#ifndef DATABASE_H
#define DATABASE_H
#include <QSqlDatabase>
#include <QDebug>
#include <QSqlQuery>

class DataBase
{
public:

    // 获取单实例对象
     static DataBase* getInstance(){
         if(self==nullptr){
              self = new DataBase();
         }
         return self;
     }

     void insertUser(const QString&acc,const QString&paw,const QString&nam);
     bool IsTableExist(QString table);
     bool Isacc_pawRight(const QString&acc,const QString&paw);
     bool isAccountExit(const QString &tab, const QString &acc);
     bool isPeopleExit(const QString &str,const QString&tab);
     void create_New_Table(const QString&str);
     void insertFriend(const QString&tab,const QString &acc,const QString &paw,const QString&nam,const QString&pic,const QString&sig);
     void show_search_rsl(const QString&tab,QVector<QString>&search_rsl);
     void changeselfinformation(const QString&selfacc,const QString&selfname,const QString&selfpic,const QString&selfsig);


     ~DataBase();
     QString getSelfAccount();
     QString getSelfPassword(QString s);
     QString getSelfName(QString s);
     QString getSelfPic_Path(QString s);
     QString getSelfSig(QString s);

private:
   //构造私有化，防止外部通过new的方式创建对象
     DataBase();
     DataBase(const DataBase&){}
     QString selfaccount;
     QString selfpassword;
     QString selfname;
     QString selfpic_path;
     QString selfsig;
     QSqlDatabase database;
     QSqlQuery query;

private:
   //唯一单实例对象的指针
   static DataBase *self;

};

#endif // DATABASE_H
